/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package permissaoUsuario;

import java.util.List;
import util.ErroAcessoRepositorioException;

/**
 *
 * @author Administrador
 */
public class CadastroPermissaoUsuario {
  
    private RepositorioPermissaoUsuario objRepositorioPermissaoUsuario = null;

    /**
     *
     * @param objRepositorioPermissaoUsuario
     * @throws ErroAcessoRepositorioException
     */
    public CadastroPermissaoUsuario(RepositorioPermissaoUsuario objRepositorioPermissaoUsuario) throws ErroAcessoRepositorioException {
        this.objRepositorioPermissaoUsuario = objRepositorioPermissaoUsuario;
    }

    /**
     * Metodo que ira cadastrar a Permissao Usuario
     *
     * @param PermissaoUsuario objPermissaoUsuario
     * @return void
     */
    public void cadastrarAtualizar(PermissaoUsuario objPermissaoUsuario) throws ErroAcessoRepositorioException {
        this.objRepositorioPermissaoUsuario.cadastrarAtualizar(objPermissaoUsuario);
    }

    /**
     * Metodo que ira produrar a Permissao Usuario
     *
     * @param int idPermissaoUsuario
     * @return void
     */
    public PermissaoUsuario procurar(int idPermissaoUsuario) throws PermissaoUsuarioNaoCadastradoException, ErroAcessoRepositorioException {
        return this.objRepositorioPermissaoUsuario.procurar(idPermissaoUsuario);
    }

    /**
     * Metodo que ira verificar a existência da Permissao Usuario
     *
     * @param int idDescricaoProduto
     * @return void
     */
    public boolean existe(int idPermissaoUsuario) throws ErroAcessoRepositorioException {
        return this.objRepositorioPermissaoUsuario.existe(idPermissaoUsuario);
    }

    /**
     * Metodo que ira listar a Permissao Usuario
     *
     * @return Collection
     */
    public List<PermissaoUsuario> listar(String strPermissaoUsuario) throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioPermissaoUsuario.listar(strPermissaoUsuario);
    }

    /**
     * Método que ira remover a Permissao Usuario do banco
     *
     * @param idDescricaoProduto
     */
    public void remover(int idPermissaoUsuario) throws PermissaoUsuarioNaoCadastradoException, ErroAcessoRepositorioException {
        this.objRepositorioPermissaoUsuario.remover(idPermissaoUsuario);
    }
    
    /**
     * Metodo que ira verificar a existência do PermissaoUsuario para o login e a permissão informada
     *
     * @param int idPermissaoUsuario
     * @return void
     */
    public boolean existePorIdLoginPorIdPermissao(int idLogin, int idPermissao) throws ErroAcessoRepositorioException {
        return this.objRepositorioPermissaoUsuario.existePorIdLoginPorIdPermissao(idLogin, idPermissao);
    }
    
    /**
     * Metodo que ira listar as PermissaoUsuarios por login
     *
     * @return Collection
     */
    public List<PermissaoUsuario> listarPorLogin(int idLogin) throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioPermissaoUsuario.listarPorLogin(idLogin);
    }
}
